## 1.变量赋值 ##
# Python 中的变量赋值不需要类型声明。
# 每个变量在内存中创建，都包括变量的标识，名称和数据这些信息。
# 每个变量在使用前都必须赋值，变量赋值以后该变量才会被创建。
# 等号 = 用来给变量赋值。
# 等号 = 运算符左边是一个变量名，等号 = 运算符右边是存储在变量中的值。
counter = 100  # 赋值整型变量
miles = 1000.0  # 浮点型
name = "John"  # 字符串
print (counter)
print (miles)
print (name)

## 2.多个变量赋值 ##
# Python允许你同时为多个变量赋值
# 三个变量被分配到相同的内存空间上
a = b = c = 1
print(a, b, c)
a=2
print(a, b, c)
e, f, g = 1, 2, "john"
print(e, f, g)

## 3.标准数据类型 ##
# Python有五个标准的数据类型：
#     Numbers（数字）
#     String（字符串）
#     List（列表）
#     Tuple（元组）
#     Dictionary（字典）

## 4.Python 数字 ##
# Python支持四种不同的数字类型：
#     int（有符号整型）
#     long（长整型，也可以代表八进制和十六进制）
#     float（浮点型）
#     complex（复数）
var1 = 1
print(var1)
var1 = -0x260
print(var1)
var1 = -51924361
print(var1)
var1 = -15.03
print(var1)
var1 = 32.54e+100
print(var1)
var1 = 32.54e100
print(var1)
var1 = -32.54E-8
print(var1)
var1 = 9.322e-36j
print(var1)

## 5.Python字符串 ##
# 字符串或串(String)是由数字、字母、下划线组成的一串字符
str1 = 'Hello World!'
print (str1)             # 输出完整字符串
print (str1[0])          # 输出字符串中的第一个字符
print (str1[2:5])        # 输出字符串中第三个至第六个之间的字符串
print (str1[2:])         # 输出从第三个字符开始的字符串
print (str1 * 2)         # 输出字符串两次
print (str1 + "TEST")    # 输出连接的字符串

## 6.Python列表 ##
# List（列表） 是 Python 中使用最频繁的数据类型。
# 列表可以完成大多数集合类的数据结构实现。它支持字符，数字，字符串甚至可以包含列表（即嵌套）。
# 列表用 [ ] 标识，是 python 最通用的复合数据类型。
# 列表中值的切割也可以用到变量 [头下标:尾下标] ，就可以截取相应的列表，从左到右索引默认 0 开始，从右到左索引默认 -1 开始，下标可以为空表示取到头或尾。
list = ['runoob', 786, 2.23, 'john', 70.2, 'david']
tinylist = [123, 'john']
print(list)             # 输出完整列表
print(list[0])          # 输出列表的第一个元素
print(list[1:3])        # 输出第二个至第三个元素
print(list[2:])         # 输出从第三个开始至列表末尾的所有元素
print(tinylist * 2)     # 输出列表两次
print(list + tinylist)  # 打印组合的列表
# 列表截取可以接收第三个参数，参数作用是截取的步长，以下实例在索引 0 到索引 5 的位置并设置为步长为 2
print(list[0:5:2])

## 7.Python 元组 ##
# 元组是另一个数据类型，类似于 List（列表）。
# 元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值，相当于只读列表。
tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print(tuple)                # 输出完整元组
print(tuple[0])             # 输出元组的第一个元素
print(tuple[1:3])           # 输出第二个至第四个（不包含）的元素
print(tuple[2:])            # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2)        # 输出元组两次
print(tuple + tinytuple)    # 打印组合的元组

## 8.Python 字典 ##
# 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合，字典是无序的对象集合。
# 两者之间的区别在于：字典当中的元素是通过键来存取的，而不是通过偏移存取。
# 字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'runoob', 'code': 6734, 3: 'sales'}
print(dict['one'])          # 输出键为'one' 的值
print(dict[2])              # 输出键为 2 的值
print(dict)
print(tinydict)             # 输出完整的字典
print(tinydict.keys())      # 输出所有键
print(tinydict.values())    # 输出所有值